// 导入路由
import router from './'
// 导入token存储
import useToken from '../stores/token'
// 导入通知
import notification from '../utils/notification'

// 定义白名单，包含不需要登录就能访问的路由
const whiteList = ['/login']

// 路由守卫，每次路由跳转前都会执行
router.beforeEach((to, from, next) => {
	// 设置页面标题
	document.title = to.meta.title + ' - ' + '后台管理系统'
	// 获取token
	const {
		token
	} = useToken()
	// 如果token存在，则放行
	if (token) {
		next()
	// 否则，判断当前路由是否在白名单中
	} else {
		if (whiteList.includes(to.path)) {
			next()
		// 如果不在白名单中，则提示用户先登录，并跳转到登录页
		} else {
			notification({
				message: '请先登录',
				type: 'error'
			})
			next('/login')
		}
	}
})